STM8 Timer 2 und 3
Parallel zum 16-Bit Zähler befindet sich ein 16-Bit „Auto Reload“ Register das wie gerade beschrieben als Referenz-Register für den maximalen Zählerstand genutzt wird. Das Auto-Reload Register ist ebenfalls durch zwei getrennte Zugriffe auf das „High“-Byte, TIMn_ARRH und das „Low“-Byte, TIMn_ARRL sowohl lesbar als auch beschreibbar.
| TIMn_ARRH Register - Auto Reload Register High (T2 = 0x00.530Dh, T3 = 0x00.532Bh im STM8S | |||||||||
| Register Name | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 | |
| TIMn_ARRH | ARR[15] | ARR[14] | ARR[13] | ARR[12] | ARR[11] | ARR[10] | ARR[9] | ARR[8] | |
| TIMn_ARRL Register - Auto Reload Register Low (T2 = 0x00.530Eh, T3 = 0x00.532Ch im STM8S | |||||||||
| Register Name | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 | |
| TIMn_ARRL | ARR[7] | ARR[6] | ARR[5] | ARR[4] | ARR[3] | ARR[2] | ARR[1] | ARR[0] | |
Wichtig ist in diesem Zusammenhang dass der Zähler durch einen Wert „0x0000h“ im TIMn_ARR Register blockiert wird, da dann Zählerstand und ARR-Wert immer „null“ sind. Neutral verhält sich das ARR-Register wenn ein Wert von 0xFFFFh eingetragen wird, damit der maximal mögliche Zählerstand erreicht wird.
Zu Beachten:
Bei einem Schreibvorgang des ARR-Registers muß das TIMn_ARRH Byte zuerst beschrieben werden. Der Update des ARR-Shadow Registers wird blockiert sobald das TIMn_ARRH Byte geschrieben wurde und bleibt blockiert bis das TIMn_ARRL Register beschrieben wird. Diese Vorgabe schließt die Benutzung eines LDW (Load Word) Befehls aus da dieser erst das Low-Byte beschreibt!
Das Auto Reload Register ist doppelt gepuffert, d.h. das eigentlich Register das mit dem Zähler verglichen wird ist das parallel liegende „ARR Shadow“ Register, welches durch einen Update Event aus dem ARR Register geladen wird. Damit wird ein möglicher undefinierter Übergang bei einer Änderung innerhalb eines Zählerzyklus vermieden.
Keine Regel ohne Ausnahme - das ARPE-Bit (Bit 7) im TIMn_CR1 Register ermöglicht es, wie bereits beschrieben, diese Funktionalität zu umgehen. Wird das Bit ARPE auf „0“ gesetzt so wirkt ein Schreibvorgang unmittelbar auf das „Shadow“-Register, sollte dies von der Anwendung gefordert werden.
Dieses Dokument sowie dessen Inhalt, insbesondere Texte, Fotografien und Grafiken, unterliegt dem Copyright (© 2017) und sind nur mit einer schriftlicher Zustimmung des Autors, Dipl.Ing.(FH) Franz Henkel zur vollständigen oder auszugsweisen Weiterverwendung in Form einer gedruckten oder elektronischen Kopie oder Replikation bzw. einer vollständigen oder auszugsweisen Bereitstellung des Inhalts in schriftlicher oder elektronischer Form, zu verwenden.